/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.edu.pucp.Maestros.Controlador.CargaXML;

import java.io.IOException;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import pe.edu.pucp.Maestros.DAO.ClientesDAO;
import pe.edu.pucp.Maestros.Vista.CargaXMLGUI;
import pe.edu.pucp.Modelo.Ciudad;
import pe.edu.pucp.Modelo.Cliente;
import pe.edu.pucp.Modelo.EstadoCliente;
import pe.edu.pucp.Modelo.TipoCliente; 
import pe.edu.pucp.Modelo.TipoCorreo;
import pe.edu.pucp.Modelo.TipoDocumento;
import pe.edu.pucp.Modelo.Usuario;
import pe.edu.pucp.Util.Constante;
import pe.edu.pucp.Util.LogHelper;

/**
 *
 * @author oscar
 */
public class ClientesControlador {
    private Cliente cliente;
    private ClientesDAO m;
    private CargaXMLGUI view;

    public ClientesControlador(ClientesDAO m, CargaXMLGUI clienteView) {
        this.m = m;
        this.view = clienteView;
    }
     
     public void CargarPrueba(Usuario usr){
        if (cliente == null) {
            cliente = new Cliente();
        }     
        try { 
            SAXBuilder builder = new SAXBuilder(false); 
            Document doc = builder.build(view.getNombreArchivoDatosSimulacion()+"/CLIENTES.xml");

            Element raiz7 = doc.getRootElement(); 
            List equipos = raiz7.getChildren("Cliente"); 
            Iterator i = equipos.iterator(); 
            while (i.hasNext()) { 
                Element e7 = (Element) i.next();       
                int a1 = Integer.parseInt(e7.getChild("idcliente").getValue());
                int a2 = Integer.parseInt(e7.getChild("idciudad").getValue());
                int a3 = Integer.parseInt(e7.getChild("idestado").getValue());
                int a4 = Integer.parseInt(e7.getChild("idtipodoc").getValue());
                int a5 = Integer.parseInt(e7.getChild("idtipo").getValue());
                int a6 = Integer.parseInt(e7.getChild("idtipocorreo").getValue());
                String a7 = e7.getChild("numdoc").getValue();
                String a8 = e7.getChild("correo").getValue();
                String a9 = e7.getChild("nombre").getValue();
                String a10 = e7.getChild("apmaterno").getValue();
                String a11 = e7.getChild("appaterno").getValue();
                String a12 = e7.getChild("fechareg").getValue();

                Ciudad c = new Ciudad();
                c.setIdciudad(a2);

                EstadoCliente d = new EstadoCliente();
                d.setIdestado(a3);

                TipoDocumento e = new TipoDocumento();
                e.setIdtipodoc(a4);

                TipoCliente f = new TipoCliente();
                f.setIdtipo(a5);

                TipoCorreo g = new TipoCorreo();
                g.setIdtipocorreo(a6);

                cliente.setIdcliente(a1);
                cliente.setCiudad(c);
                cliente.setEstadoCliente(d);
                cliente.setTipoDocumento(e);
                cliente.setTipoCliente(f);
                cliente.setTipoCorreo(g);
                cliente.setNumdoc(a7);
                cliente.setCorreo(a8);
                cliente.setNombre(a9);
                cliente.setApmaterno(a10);
                cliente.setAppaterno(a11);
                cliente.setFechareg(new Date());

                m.guardarCliente(cliente);

            } 
            LogHelper.registrarOperacion(usr, Constante.ACCION_CARGAR, Constante.OBJETO_CLIENTE, "Se cargaron "+equipos.size()+" registros de clientes");

        } 
        catch (JDOMException | IOException | NumberFormatException e7) { }         
    }
    
}
